#ifndef STATELABEL_H
#define STATELABEL_H

#include <QLabel>
#include "Logger/logger.h"

/* ---------------------------
  | Class like a QLabel, but have
  |     some states-strings.
  |     States cyclic changes
  |     after mousclick on object.
   -------------------------- */

class StateLabel : public QLabel
{
    Q_OBJECT
public:
    explicit StateLabel(QWidget *parent = 0);
    void setStates(const QVector<QString> &states);
    void setCurrentState(const int num);
    int stateCount() const;
    int currentStateNumber() const;
    QString currentStateString() const;
    void nextState();

private:
    int mCurrentState;
    QVector<QString> mStates;
};

#endif // STATELABEL_H
